<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Storing records</title>
    <link rel="stylesheet" href="gettingStarted.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
    <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
    <link rel="up" href="am.html" title="Chapter 3.  Access Method Operations" />
    <link rel="prev" href="am_get.html" title="Retrieving records" />
    <link rel="next" href="am_delete.html" title="Deleting records" />
  </head>
  <body>
    <div xmlns="" class="navheader">
      <div class="libver">
        <p>Library Version 11.2.5.3</p>
      </div>
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Storing records</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="am_get.html">Prev</a> </td>
          <th width="60%" align="center">Chapter 3. 
		Access Method Operations
        </th>
          <td width="20%" align="right"> <a accesskey="n" href="am_delete.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="sect1" lang="en" xml:lang="en">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="am_put"></a>Storing records</h2>
          </div>
        </div>
      </div>
      <p>
        The <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> method stores records into the database.  In general,
        <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> takes a key and stores the associated data into the
        database.
    </p>
      <p>
        There are a few flags that you can set to customize storage:
    </p>
      <div class="variablelist">
        <dl>
          <dt>
            <span class="term">
              <a href="../api_reference/C/dbput.html#dbput_DB_APPEND" class="olink">DB_APPEND</a>
            </span>
          </dt>
          <dd>
                Simply append the data to the end of the database, treating
                the database much like a simple log.  This flag is only
                valid for the Heap, Queue and Recno access methods.
                This flag is required if you are creating a new record in a Heap
                database.
            </dd>
          <dt>
            <span class="term">
              <a href="../api_reference/C/dbput.html#put_DB_NOOVERWRITE" class="olink">DB_NOOVERWRITE</a>
            </span>
          </dt>
          <dd>
                Only store the data item if the key does not already appear
                in the database.
            </dd>
        </dl>
      </div>
      <p>
        If the database has been configured to support duplicate records,
        the <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> method will add the new data value at the end of the
        duplicate set.  If the database supports sorted duplicates, the new
        data value is inserted at the correct sorted location.
    </p>
      <div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
        <h3 class="title">Note</h3>
        <p>
            If you are using the Heap access method and you are creating a
            new record in the database, then the key that you provide to
            the <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> method should be empty.  The <a href="../api_reference/C/dbput.html" class="olink">DB-&gt;put()</a> method will
            return the record's ID (RID) in the key. The RID is
            automatically created for you when Heap database records are
            created.
        </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="am_get.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="am.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="am_delete.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Retrieving records </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Deleting records</td>
        </tr>
      </table>
    </div>
  </body>
</html>
